man: Allow building HTML man pages
authorDan Nicholson <dbn@endlessos.org>
Fri, 21 May 2021 17:57:54 +0000 (11:57 -0600)
committerDan Nicholson <dbn@endlessos.org>
Sat, 9 Apr 2022 01:25:32 +0000 (19:25 -0600)
Add a --enable-man-html configure option to build HTML man pages using a
different stylesheet. The HTML pages aren't installed as I don't know
what purpose they'd serve on an actual installation.

Makefile-man.am
configure.ac

index 78025fff975bac3b43b8cce3f043b1f4010a5f54..1779edc12ee243ea10c2ada5c519884c9e871248 100644 (file)
@@ -52,9 +52,23 @@ man5_files = ostree.repo.5 ostree.repo-config.5
 man1_MANS = $(addprefix man/,$(man1_files))
 man5_MANS = $(addprefix man/,$(man5_files))
 
+manhtml_files = \
+       $(addprefix man/html/,$(man1_files:.1=.html)) \
+       $(addprefix man/html/,$(man5_files:.5=.html)) \
+       $(NULL)
+
+if ENABLE_MAN_HTML
+noinst_DATA += $(manhtml_files)
+
+# Convenience target for building the just the HTML man pages
+manhtml: $(manhtml_files)
+.PHONY: manhtml
+endif
+
 EXTRA_DIST += $(man1_MANS:.1=.xml) $(man5_MANS:.5=.xml)
 
-XSLT_STYLESHEET = http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
+XSLT_MAN_STYLESHEET = http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
+XSLT_HTML_STYLESHEET = http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl
 
 XSLTPROC_FLAGS = \
         --nonet \
@@ -67,14 +81,19 @@ XSLTPROC_FLAGS = \
 XSLTPROC_MAN = $(XSLTPROC) $(XSLTPROC_FLAGS)
 
 %.1: %.xml
-       $(AM_V_GEN) $(XSLTPROC_MAN) --output $@ $(XSLT_STYLESHEET) $<
+       $(AM_V_GEN) $(XSLTPROC_MAN) --output $@ $(XSLT_MAN_STYLESHEET) $<
 
 %.5: %.xml
-       $(AM_V_GEN) $(XSLTPROC_MAN) --output $@ $(XSLT_STYLESHEET) $<
+       $(AM_V_GEN) $(XSLTPROC_MAN) --output $@ $(XSLT_MAN_STYLESHEET) $<
+
+man/html/%.html: man/%.xml
+       @mkdir -p man/html
+       $(AM_V_GEN) $(XSLTPROC_MAN) --output $@ $(XSLT_HTML_STYLESHEET) $<
 
 CLEANFILES += \
        $(man1_MANS) \
        $(man5_MANS) \
+       $(manhtml_files) \
        $(NULL)
 
 endif
index 8ca2f451b22a3f35f95eb1d089eae7cec79c1234..693261ca8f830bff3312fc77ead6905f39ea956a 100644 (file)
@@ -292,6 +292,16 @@ AS_IF([test "$enable_man" != no], [
 ])
 AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)
 
+AC_ARG_ENABLE([man-html],
+              [AS_HELP_STRING([--enable-man-html],
+                              [generate man HTML pages [default=no]])],,
+              enable_man_html=no)
+
+AS_IF([test "$enable_man_html" = yes && test "$enable_man" = no], [
+  AC_MSG_ERROR([--enable-man is required for --enable-man-html])
+])
+AM_CONDITIONAL(ENABLE_MAN_HTML, test "$enable_man_html" = yes)
+
 AC_ARG_WITH(libarchive,
            AS_HELP_STRING([--without-libarchive], [Do not use libarchive]),
            :, with_libarchive=maybe)